Premio Ubu 2004 come miglior attore di teatro under 30, è stato sulla scena Orfeo, Danton, Perceval, Satana, e ha interpretato il monologo La vita bestia, tratto dal suo primo romanzo Tuttalpiù muoio (2006 Fandango), scritto a quattro mani con Edoardo Albinati.
Nel 2007 ha pubblicato E lasciamole cadere queste stelle, sempre con Fandango Libri.
Al cinema ha interpretato tra il 2007 e il 2008 i film In memoria di me di Saverio Costanzo; Saturno contro di Ferzan Ozpetek; Signorinaeffe di Wilma Labate; I demoni di San Pietroburgo di Giuliano Montaldo.
Dopo il film di Gabriele Salvatores Come Dio comanda (2008), è protagonista del film di Marco Bellocchio, Vincere, e del film d'esordio di Giuseppe Capotondi, La doppia ora.
Per Garzanti ha pubblicato nel 2008 Peggio che diventare famoso.
A teatro ha portato con successo lo spettacolo Il popolo non ha il pane? Diamogli le brioche, per cui ha firmato anche il testo e la regia.
Nel 2023 esce per Feltrinelli, Marilyn.